Interactive virtual reality system

ABSTRACT

Provided herein are method, apparatus, and computer program products for generating a first and second three dimensional interactive environment. The first three dimensional interactive environment may contain one or more engageable virtual interfaces that correspond to one or more items. Upon engagement with a virtual interface the second three dimensional interactive environment is produced to virtual simulation related to the one or more items.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. Non-Provisional patentapplication Ser. No. 16/828,595, entitled “Interactive Virtual RealitySystem” filed Mar. 24, 2020, which is a continuation of U.S.Non-Provisional patent application Ser. No. 16/447,423 entitled“Interactive Virtual Reality System” filed Jun. 20, 2019 (now U.S. Pat.No. 10,650,606), which is a continuation of U.S. Non-Provisional patentapplication Ser. No. 15/281,024 entitled “Interactive Virtual RealitySystem” filed Sep. 29, 2016 (now U.S. Pat. No. 10,373,383), which claimspriority to and the benefit of U.S. Provisional Application No.62/235,242 entitled “Interactive Virtual Reality System” filed Sep. 30,2015, the contents of each are incorporated herein by reference in itsentirety.

BACKGROUND OF THE INVENTION

Virtual reality systems provide a computer simulated replication of aphysical environment. Applicant has identified a number of deficienciesand problems associated with conventional virtual reality systems.Through applied effort, ingenuity, and innovation, many of theseidentified problems have been solved by developing solutions that areincluded in embodiments of the present invention, which are described indetail herein.

BRIEF SUMMARY

In general embodiments of the present invention provided herein includemethods, apparatus, and computer program products for an interactivedevice that generates and outputs first and second three dimensionalinteractive environments.

In some embodiments, an interactive device may comprise a processor anda memory associated with the processor having computer codedinstructions configured to, with the processor, cause the interactivedevice to receive three dimensional environment data and generate firstand second three dimensional interactive environment based on the threedimensional environmental data. The interactive device may receiveinventory data. The interactive device may determine one or more virtualinterfaces for presenting within the first three dimensional interactiveenvironment, wherein the one or more virtual interfaces are determinedbased on the inventory data and the three dimensional environmentaldata, and wherein the one or more virtual interfaces comprise anexecution component to generate execution data and a virtual experienceportal. The virtual device may output, to a display of the interactivedevice, the first three dimensional interactive environment and the oneor more virtual interfaces. The virtual device may receive user inputdata generated in association with user engagement of the interactivedevice and in circumstances where the user input data indicates userengagement with the execution component of the one or more virtualinterfaces, store the associated execution data to a user executionregistry and in circumstances where the user input data indicates userengagement with the virtual experience portal of the one or more virtualinterfaces, output to the display the second three dimensionalinteractive environment.

In some embodiments, the interactive device may comprise communicationcircuitry configured to generate a network connection with otherinteractive devices, wherein the interactive device and otherinteractive devices substantially simultaneously output, to respectivedisplays of the interactive device and the other interactive devices,shared versions of the first or second three dimensional interactiveenvironment.

In some embodiments, the three dimensional environment data comprisesprofile data.

In some embodiments, the three dimensional environment data comprises arelevance system.

In some embodiments, the engageability of the execution portion of theone or more virtual interfaces is based on the inventory data.

In some embodiments, the user input data comprises audio data, whereinthe processor causes the interactive device to activate the executioncomponent in response to comparing the audio data to a sensor database.

In some embodiments, the second three dimensional interactiveenvironment is generated based on item data.

In some embodiments, the second three dimensional interactiveenvironment comprises a virtual simulation of a part of at least one of:a vacation, a concert, or a trip.

In some embodiments, the second three dimensional interactiveenvironment comprises a virtual rendering of a good.

In some embodiments, the item data comprises user feedback data.

In some embodiments, a method is provided for presenting, via aninteractive device, an interactive three dimensional environment, themethod may comprise receiving, by a processor, three dimensionalenvironmental data; generating, by the processor, a first threedimensional interactive environment based on the three dimensionalenvironmental data; generating, by the processor, a second threedimensional interactive environment based on the three dimensionalenvironmental data; receiving, by the processor, inventory data;determining, by the processor, one or more virtual interfaces forpresenting within the first three dimensional interactive environment,wherein the one or more virtual interfaces are determined based on theinventory data and the three dimensional environmental data, and whereinthe one or more virtual interfaces comprise an execution component togenerate execution data and a virtual experience portal; outputting, bythe processor, to a display of the interactive device, the first threedimensional interactive environment and the one or more virtualinterfaces; receiving, by the processor, user input data generated inassociation with user engagement of the interactive device; incircumstances where the user input data indicates user engagement withthe execution component of the one or more virtual interfaces, storing,by the processor, the associated execution data to a user executionregistry; and in circumstances where the user input data indicates userengagement with the virtual experience portal of the one or more virtualinterfaces, outputting, by the processor, to the display the secondthree dimensional interactive environment.

In some embodiments, the method may further comprise connecting, bycommunication circuitry, the interactive device to other interactivedevices and simultaneously outputting, by the interactive device andother interactive devices a shared first 3D interactive environment orsecond 3D interactive environment.

In some embodiments, the three dimensional environment data comprisesprofile data.

In some embodiments, the three dimensional environment data comprises arelevant system.

In some embodiments, the engageability of the execution portion of theone or more virtual interfaces is based on the inventory data.

In some embodiments, the method may further comprise receiving, by theprocessor, audio data, comparing, by the processor, received audio datawith data in a sensor database, activating, by the processor, theexecution component based the comparison.

In some embodiments, the method may further comprise generating, by theprocessor, the second three dimensional interactive environment based onitem data.

In some embodiments, the second three dimensional interactiveenvironment comprises a virtual simulation of a part of a least at leastone of: a vacation, a concert, or a trip.

In some embodiments, the second three dimensional interactiveenvironment comprises a virtual rendering of a good.

In some embodiments, the item data comprises user feedback data.

In some embodiments, a computer program product is provided comprisingnon-transitory computer readable storage medium and computer programinstructions stored therein. The computer program instructionscomprising program instructions configured to: receive, by a processor,three dimensional environmental data; generate, via the processor, afirst three dimensional interactive environment based on the threedimensional environmental data generate, via the processor, a secondthree dimensional interactive environment based on the three dimensionalenvironmental data receive, via the processor, inventory data;determine, via the processor, one or more virtual interfaces forpresenting within the first three dimensional interactive environment,wherein the one or more virtual interfaces are determined based on theinventory data and the three dimensional environmental data, and whereinthe one or more virtual interfaces comprise an execution componentgenerates execution data and a virtual experience portal; output, viathe processor, to a display of the interactive device, the first threedimensional interactive environment and the one or more virtualinterfaces; receive, via the processor, user input data generated inassociation with user engagement of the interactive device; incircumstances where the user input data indicates user engagement withthe execution component of the one or more virtual interfaces, store,via the processor, the associated execution data to a user executionregistry; and in circumstances where the user input data indicates userengagement with the virtual experience portal of the one or more virtualinterfaces, output, via the processor, to the display the second threedimensional interactive environment.

In some embodiments, the computer program product may be furtherconfigured to communicate, via communication circuitry to otherinteractive devices, and simultaneously output, via the interactivedevice and other interactive devices a shared first 3D interactiveenvironment or second 3D interactive environment.

In some embodiments, the three dimensional environment data comprisesprofile data

In some embodiments, the three dimensional environment data comprises arelevance system.

In some embodiments, the status of the execution portion of the one ormore virtual interfaces is based on the inventory data.

In some embodiments, the computer program may be further configured toreceive, via the processor, audio data; compare, via the process,received audio data with data in a sensor database; activate, by theprocessor, the execution component based on the comparison.

In some embodiments, the computer program may be further configured togenerated, via the processor, the second three dimensional interactiveenvironment based on item data.

In some embodiments, the second three dimensional interactiveenvironment comprises a virtual simulation of a part of a least one of:a vacation, a concert, or a trip.

In some embodiments, the second three dimensional interactiveenvironment comprises a virtual rendering of a good.

In some embodiments, the item data comprises user feedback data.

BRIEF DESCRIPTION OF DRAWINGS

Reference will now be made to the accompanying drawings, which are notnecessarily drawn to scale, and wherein:

FIG. 1 illustrates an example interactive device;

FIG. 2 illustrates an example first three dimensional interactiveenvironment;

FIG. 3 illustrates an example second three dimensional interactiveenvironment;

FIG. 4A illustrates an example system configured in accordance with someembodiments discussed herein;

FIG. 4B illustrates an alternate example system configured in accordancewith some embodiments discussed herein;

FIG. 5 illustrates a schematic block diagram of circuitry configured fora computer device, such as an interactive device, provider system,promotion and/or marketing service system, in accordance with someembodiments discussed herein;

FIG. 6 illustrates an example relevance system configured in accordancewith some embodiments discussed herein;

FIG. 7 illustrates an example user parameters database configured inaccordance with some embodiments discussed herein;

FIG. 8 illustrates an example three dimension data module configured tostore item data in accordance with some embodiments discussed herein;

FIG. 9 illustrates a flow diagram of an example system in accordancewith some embodiments discussed herein; and

FIG. 10 illustrates a flow diagram of an example system configured inaccordance with some embodiments discussed herein.

DETAILED DESCRIPTION OF THE DRAWINGS

Some embodiments of the present invention will now be described morefully hereinafter with reference to the accompanying drawings, in whichsome, but not all embodiments of the inventions are shown. Indeed, theinvention may be embodied in many different forms and should not beconstrued as limited to the embodiments set forth herein; rather, theseembodiments are provided so that this disclosure will satisfy applicablelegal requirements. Like numbers refer to like elements throughout.

Terms

As used herein, the terms “data,” “content,” “information,” and similarterms may be used interchangeably to refer to data capable of beingtransmitted, received, and/or stored in accordance with embodiments ofthe present invention. Thus, use of any such terms should not be takento limit the spirit and scope of embodiments of the present invention.Further, where a computing device is described herein to receive datafrom another computing device, it will be appreciated that the data maybe received directly from the another computing device or may bereceived indirectly via one or more intermediary computing devices, suchas, for example, one or more servers, relays, routers, network accesspoints, base stations, hosts, and/or the like, sometimes referred toherein as a “network.” Similarly, where a computing device is describedherein to send data to another computing device, it will be appreciatedthat the data may be sent directly to the another computing device ormay be sent indirectly via one or more intermediary computing devices,such as, for example, one or more servers, relays, routers, networkaccess points, base stations, hosts, and/or the like.

As used herein, the term “promotion and marketing service” may include aservice that is accessible via one or more computing devices and isoperable to provide example promotion and/or marketing services onbehalf of one or more providers that are offering one or moreinstruments that are redeemable for goods, services, experiences and/orthe like. In some examples, the promotion and marketing service may takethe form of a redemption authority, a payment processor, a rewardsprovider, an entity in a financial network, a promoter, an agent and/orthe like. As such, the service is, in some example embodiments,configured to present one or more promotions via one or moreimpressions, accept payments for promotions from consumers, issueinstruments upon acceptance of an offer, participate in redemption,generate rewards, provide a point of sale device or service, issuepayments to providers and/or or otherwise participate in the exchange ofgoods, services or experiences for currency, value and/or the like.

As used herein, the term “provider” may include, but is not limited to,a merchant, business owner, consigner, shopkeeper, tradesperson, vender,operator, entrepreneur, agent, dealer, organization or the like that isin the business of a providing a good, service or experience to aconsumer, facilitating the provision of a good, service or experience toa consumer and/or otherwise operating in the stream of commerce. Forexample, a provider may be in the form of a running company that sellsattire that is generally used by a person who runs or participates inathletic activities.

As used herein, the term “user” may include, but is not limited to, aperson utilizing an interactive device as described herein.

As used herein, the term “promotion” may include, but is not limited to,any type of offered, presented or otherwise indicated reward, discount,coupon, credit, deal, incentive, discount, media or the like that isindicative of a provider value or the like that upon purchase oracceptance results in the issuance of an instrument that may be usedtoward at least a portion of the purchase of particular item(s) definedby the promotion. An example promotion, using the aforementioned runningcompany as the example provider, is $25 for $50 toward running shoes(i.e., an item). In some examples, the promotion defines an acceptedvalue (e.g., a cost to purchase the promotion), a provider value (e.g.,the value of the resultant instrument beyond the accepted value), aresidual value (e.g., the value upon return or upon expiry of one ormore redemption parameters), one or more redemptions parameters and/orthe like. Using the running company promotion as an example, theaccepted value is $25 and the provider value is $50. In this example,the residual value may be equal to the accepted value.

As used herein, the term “item” refers to any product, good, service,experience, or other tangible or intangible item. A virtualrepresentation of an item may be displayed by an interactive device. Forexample, an item may be a concert, a trip, a vacation, and/or a physicalobject such as a lamp, a book, running shoes, or a computer.

As used herein, the term “feature” refers to the size, shape, color,text, highlighting, shading, opacity, image overlay, texture, or anyother discernible attribute of a virtual representation of an item.

As used herein, the term “item data” refers to any data related to anitem such as, but not limited to, provider database data, promotion andmarketing services database data, and user database data.

As used herein, the term “profile identifier” refers to any data thatidentifies a user, provider, provider employee, or promotion andmarketing service. For example, and without limitation, a profileidentifier may include a unique identifier, an IP address, a MACaddress, a merchant identifier, a customer identifier, a serializedcode, a pseudo random code, and the like.

As used herein, the term “profile data” refers to any data associatedwith a profile identifier, such as, but not limited to, transactiondata, biographical data, preference data, or any other data that mayserve to distinguish one or more profiles from each other.

As used herein, the term “transaction data” refers to any item orprofile data related to the buying, selling, or offering of an item,such as, but not limited to, sales data correlated to item, sales datacorrelated to provider, sales data correlated to geographic location,sales data including historical and predicted revenue for each item,historical and predicted profits for each item, quantities sold for eachitem, quantity of customers purchasing each item, overall selection rateof each item, popularity of an item (e.g., numbers ordered, impressionviews, impression clicks, etc.), or a selection rate per transaction orper customer of each item. Transaction data may also include redemptiondata, in the case of a promotion that must be redeemed, or may includereturn data for an item or promotion that is returned. In someembodiments, transaction data may include a consumer rating of an item.The transaction data may also include transactions with respect toprofile information, such as transactions involving a single profile orrelated group of profiles.

As used herein, the term “biographical data” refers to informationassociated with a person(s) (e.g., user, provider, provider employee,etc.) identified in a profile, such as, for example, birth dates,allergies, socio-economic data, interests, place of residence, place ofemployment, login credential information, registration data, paymentdata (e.g., credit card data, etc.) and/or any other identifyinginformation about a profile.

As used herein, the term “preference data” refers to one or more optionsassociated with a profile, such that the preference data tracks theprofile holder's interests and selections for various user-selectableinterface options. Preference data may also include, without limitation,location data (e.g., GPS data, operating system location, etc.)associated with activity of a user associated with a profile, socialmedia likes and dislikes, internet browser cookie data, internet browserhistory data, and other data that may be expressly or implicitly trackedby an interactive device that may be suggestive of user preferences.

As used herein, the term “virtual reality” refers to thecomputer-generated simulation of a three-dimensional image orenvironment (e.g., a three dimensional interactive environment) that canbe interacted with in a seemingly real or physical way (i.e., throughcomputer generated sensory stimuli) by a person using an interactivedevice.

As used herein, the term “interactive device” refers to a device thatreceives three dimensional environmental data and generates and outputsa first and second three dimensional interactive environment based onthe received three dimensional environmental data. The first and secondthree dimensional interactive environments allows a user to interactwith a computer-generated simulation of a three-dimensional image orenvironment in a seemingly real or physical way using electronicequipment (e.g., the interactive device and/or components or accessoriesthereof). The interactive device may be a wearable device attached to auser's head that produces one or more three dimensional interactiveenvironments, such that the user may interact with the one or more threedimensional interactive environment in a seemingly real or physical way.An interactive device may comprise one or more hardware and softwareelements as illustrated in FIG. 5 . An example interactive device isshown in FIG. 1 and may include, without limitation, an Oculus Rift™ byFacebook Corp.™, Sony Morpheus™ by Sony Corp.™ a mobile device combinedwith Google Cardboard™ by Google Corp.™ or HTC Vive™ by HTC Corp.™. Theinteractive device is configured to interact with a user. Theinteractive device may also comprise of technologies to stimulate theuser's senses, such as a heater or fan to simulate weather, an odorgenerator to simulate smell, and haptic feedback device to simulatetouch/feeling.

As used herein, the term “user payment information” refers to any formof payment identification capable of being used to purchase goods,services, promotions, or items. For example, user payment informationmay be a credit card number, PayPal™ log-in information, and the like.

As used herein, the term “display” refers to any type of display capableof rendering and displaying three dimensional images or threedimensional like images. For example, a display may be a computerscreen, a stereoscopic display, head mounted display, display of amobile device, and the like.

As used herein, the term “virtual interfaces” refers to any type ofinteractive device (e.g., user) engageable visual representation,rendering, icon, or avatar that is generated within a three dimensionalinteractive environment. In some embodiments, a virtual interface maycomprise an execution component and a virtual experience portal. Virtualinterfaces may include three dimensional interface environment renderedposters, pictures, signs, banners, billboards, emblems, drawings, andthe like.

As used herein, the term “three dimensional environment data” refers toany data, information, and or machine instructions that may be used todetermine, generate, and customize a three dimensional interactiveenvironment. For example, three dimensional environmental data mayinclude user preferences, user parameters database data, providerdatabase data, promotion and marketing service database data, userdatabase data, user input data, interactive device data, sense stimulimodule data, device characteristic module data, and the like.

As used herein, the term “three dimensional interactive environment”refers to a computer generated interactive virtual reality environment,setting, or experience whereby a user perceives and/or engages with thethree dimensional interactive environment through sensory stimuli (e.g.,three dimensional video, audio, haptic stimuli, etc.) generated by aninteractive device. In some embodiments, a three dimensional interactiveenvironment is accessible through a virtual experience portal. Infurther embodiments, a three dimensional interactive environment may bea virtual reality shopping mall, a virtual reality office, a virtualreality simulation corresponding to an item and/or use of an item andthe like.

As used herein, the term “inventory data” refers to a measurablequantity of an available item and/or promotion relating to an item.Inventory data may be kept in an “inventory registry.” For example,inventory data may be the remaining amount of purchasable promotionscorresponding items.

As used herein the term “execution component” refers to a virtuallyselectable object. Selection of the execution component generatesexecution data and/or activates a virtual experience portal. Theexecution component may be integrated into various aspects of the threedimensional interactive environment and/or virtual interfaces. Forexample, in the instance where a virtual interface is a virtuallyrendered image configured to suggest a real-world “poster” or wallaffixed advertisement, the execution component may be an icon renderedon or proximate to the “poster” that upon selection allows the user topurchase a promotion or activate a virtual experience portal associatedwith the promotion.

As used herein, the term “execution data” refers to information relatingto the selection of the execution component or engagement of theexecution component by a user via the interactive device. Execution datamay indicate purchase information, user payment information, promotionidentification, inventory data and the like. Execution data may includean interactive device ID or serial number, a virtual interface ID, atime stamp including time of execution component engagement, and otherdata that may capture or otherwise indicate a user's virtual engagementwith an execution component.

As used herein, the term “virtual experience portal” refers to acomputer generated door, avatar, banner, poster, icon, or otherprogrammatically generated object that is configured to transition thedisplay output of the interactive device from one three dimensionalinteractive environment to another three dimensional interactiveenvironment.

As used herein, the term “user input data” refers to data indicative ofuser engagement/interaction with the interactive device and/or the threedimensional interactive environment. For example, user input data may beaccelerometer, GPS, gyroscope, tactile sensor, optical position sensor,heart rate monitor, blood pressure sensor, and other data that isindicative of user movements that is produced by or communicated throughthe interactive device (or any accessory or component thereof) or anassociated user device. User input data may also be data indicating auser's navigation intent (i.e., through a virtual experience portal) orengagement with a three dimensional interactive environment (e.g.,virtual selection or clicking of an execution component or audioselection of an execution component).

As used herein, the term “execution registry” refers to a database,module, or system that collects, manages, and analyzes execution data.In circumstances where the execution data is generated from userengagement of the execution component, the execution registry may beupdated with execution data generated in association with or triggeredby such user engagement. For example, the execution data may includedata, information, or instructions that indicates a user intent topurchase a promotion associated with a virtual interface, and theexecution registry may be updated to reduce the amount of availablepromotions (e.g. inventory data.)

As used herein the term “sensor registry” or “sensor data registry”refers to a database, module, registry or system collection thatcollects, manages, and analyzes user input data to determine interactiveinputs and commands (e.g. navigation or engagement) within a threedimensional interactive environment.

Interactive Device

FIG. 1 depicts an example of an interactive device 100 that isconfigured to give a user a virtual experience. The interactive device100 may be any network connected device that is capable of producing athree dimensional (3D) interactive environment. Interactive device 100may include attachment mechanism 105 that is configured to physicallyattach to a user's body (e.g., the user's face). The illustratedinteractive device 100 is a virtual reality device that is mountedaround the user's eyes (the user is not shown). The interactive devicemay be an Oculus Rift™ by Facebook Corp.™, Sony Morpheus™ by SonyCorp.™, a mobile device combined with Google Cardboard™ by Google Corp.™or HTC Vive™ by HTC Corp.™

Illustrated interactive device 100 contains display 103. Display 103includes two different 3D capable display elements. In otherembodiments, display 103 may be embodied as a single lens that spansacross the front surface of interactive device 100 (e.g., a visor).Display 103 may be implemented by 3D capable lenses or any other devicethat is configured to display 3D interactive environments. In someembodiments, display 103 may also be implemented by a screen that is notable to render a 3D interactive environment. For example, display 103may be a screen of a mobile device that alone cannot produce 3Dinteractive environment, but may be capable of producing 3D interactiveenvironment when paired with another device (e.g., Google Cardboard™.)

Interactive device 100 may be coupled to a user device (not pictured),such as, a mobile phone, a computer, a tablet, controller, or the like.The user device may provide processing and/or navigation support forinteractive device 100. The user device may provide processing supportthe interactive device 100 for aiding in producing a 3D interactiveenvironment and interactions/experiences inside 3D interactiveenvironment. The user device may provide navigation support to theinteractive device 100 to assist the user of interactive device 100 innavigating the interactive 3D interactive environment andinteractions/experiences inside 3D interactive environment.

In some embodiments, as discussed in detail below, the depictedinteractive device 100 is configured to produce a 3D interactiveenvironment. In one embodiment, the interactive device 100 includes aprocessor that generates first and second 3D interactive environments,wherein the first 3D interactive environment comprises at least one ormore virtual interfaces relating to various items. For example, thedepicted interactive device outputs an interactive 3D virtual shoppingmall as a first 3D interactive environment. The interactive devicereceives user input data triggering virtual movement of the user aroundand throughout the interactive 3D shopping mall. For example, theinteractive device may receive accelerometer data generated by anaccelerometer of the interactive device as user input data indicating auser is moving his/her head (e.g., when wearing a head mountedinteractive device) and, in response, the interactive device modifiesthe 3D interactive environment to simulate the same virtual headmovement inside the 3D interactive environment.

The 3D interactive environment may also include a virtual concierge whoassists the user in the 3D interactive environment. In some embodiments,the virtual concierge is rendered in human form to emulate a real worldconcierge. The user may interact with the virtual concierge in the samemanner a consumer would interact with a real-life concierge. Forexample, the user may ask the concierge where a certain virtualinterface is located within the 3D interactive environment. In otherembodiments, the virtual concierge may act as technical support for theuser. For example, the user may ask the concierge tips for making the 3Dinteractive environment run at a smooth frame rate. In one embodiment,the virtual concierge may escort the user around the 3D interactiveenvironment and indicate and/or explain new features of the 3Dinteractive environment (e.g., new stores, new virtual interfaces, newpromotions and the like) since the user's last visit to the 3Dinteractive environment. The virtual concierge may act as a medium forthe user to set up alerts (e.g., send an alert when there are newpromotions related to concerts) or notifications (e.g. this week concertpromotions are 30% off) for promotions offered in the 3D interactiveenvironment. The virtual concierge may use data from the 3D dimensionalenvironment data (described below) to determine which notifications tosend to the user. The virtual concierge may be controlled in real-timeby a remote entity (e.g., a provider, a promotion and marketing serviceprovider, information technology company, and the like).

FIG. 2 depicts an example of a first 3D interactive environment 200.First 3D interactive environment 200 is a virtual reality shoppingenvironment. In other embodiments, 3D interactive environment 200 may beany environment capable of displaying virtual interfaces, including, forexample, a virtual reality mall, a virtual reality open market, and thelike. Illustrated first 3D interactive environment 200 includes avirtual reality mall that includes multiple stores 202 a-b. A user maymanipulate the interactive device using various input means (describedbelow) such that the processor of the interactive device updates theinteractive device's display from store 202 a store 202 b. The processorof the interactive device updates the display such that to the user itappears that he is virtually moving through the 3D interactiveenvironment. The stores contain virtual interfaces 204 a-e correspondingto items. Virtual interfaces 204 a-e are generated and displayed basedon 3D environmental data (e.g., parameter and profile data of the user)and/or inventory data. In one embodiment, a processor of the interactivedevice receives inventory data from an inventory registry thatidentifies the availability of an item/promotion related to that item.If the item/promotion is available, the processor of the interactivedevice produces a virtual interface related to that item/promotion.Virtual interfaces 204 a-e may be presented as posters, pictures, signs,banner, billboard, emblems, drawings, and the like. Virtual interfaces204 a-e contain one or more execution components 206 a-e and one or morevirtual experience portals 208 a-e.

The depicted first 3D interactive environment 200 includes Italy store202 a and Spain store 202 b. The Italy store contains virtual interfaces204 a-d related to vacations to Italy, and Spain store 202 b containsvirtual interfaces 204 e related to a vacation to Spain. Virtualinterfaces 204 a-e are embodied as posters that depict various vacationdestinations. For example, virtual interface 204 b is a virtual posterdepicting a promotion for a tour of Piazza San Marco, the Grand Canal,and/or Saint Mark's Basilica in Venice, Italy. A user may interact withvirtual interface 204 b, by selecting execution component 206 b orvirtual experience portal 208 b using interactive device 100 or anassociated user device. Virtual experience portal 208 b may cause theinteractive device to change from the first 3D interactive environment200 to second 3D interactive environment 300 to allow the user to engagein a virtual experience of the tour of Piazza San Marco, Grand Canal,and/or Saint Mark's Basilica. In other embodiments, the user'sengagement with execution component 206 b indicates that the user wishesto purchase a promotion related to virtual interface 204 b and executiondata is generated by the interactive device. The execution data maycontain payment information along with a promotion identifier. Theprocessor of the interactive device sends the execution data to anexecution registry. The execution data is received by the executionregistry and the execution data may also be received by the inventoryregistry to update the inventory data. The execution data may also bereceived by a promotion and marketing service, and/or a provider. Forexample, if inventory data indicates that there are not any promotionsavailable related to virtual interface 204 b, then the processor of theinteractive device may remove execution component 206 b or makeexecution component 206 b non-selectable, non-active, non-engagable, andthe like. Furthermore, if inventory data indicates that there are morepromotions available related to virtual interface 204 b, then theprocessor of the interactive device may make the execution component 206b active, selectable, engagable and the like. In some embodiments,execution component 206 b may automatically activate the virtualexperience portal 208 b.

FIG. 3 depicts an example of a second 3D interactive environment 300.When the processor of the interactive device receives user input dataindicating that a user selected a virtual experience portal in the 3Dinteractive environment the processor of the interactive device outputsa second 3D interactive environment. The interactive device may generatethe depicted second 3D environment 300, for example, after the uservirtually engages virtual experience portal 208 a. In the second 3Dinteractive environment the user engages in a virtual experience relatedto a corresponding item. The depicted second 3D interactive environment300 is a virtual representation of a trip to The Coliseum in Rome,Italy. In the second 3D interactive environment 300, the processor ofthe interactive device, outputs a simulation of the user viewing TheColiseum from a first person point of view. In addition, the sensestimuli module of the interactive device, simulates using audio, forexample, the noise of the bustle of crowds of people around TheColiseum. The sense stimuli module of the interactive device maystimulate the user's senses in various ways, such as providing hapticfeedback to simulate the feel of The Coliseum, audio generation toproduce audio from other tourists that are present, a micro-heater tosimulate the temperature at The Coliseum, and the like.

In some embodiments, multiple users of different interactive devices maysimultaneously engage in the same first 3D interactive environmentand/or second 3D interactive environment. The communication module (asshown in FIG. 5 item 406) of the different interactive devices may beutilized to connect the multiple interactive devices directly (e.g. apeer to peer system) or indirectly (e.g. connect to a hosting server).For example, each interactive device is assigned a unique identifier bya central server, and connects to the central server utilizing aconnection to a network (as shown in FIG. 3 ). The central server acts ahost and sends information to each interactive device to allow themultiple users to interact with each other in a seemingly real way suchas allowing multiple users to talk with each other while viewing TheColiseum. The second 3D interactive environment 300 is implemented suchthat the user has a virtual experience corresponding to the relateditem. In some embodiments, while in the second 3D interactiveenvironment 300, the sense stimuli module of the interactive device maystimulate only one of the user senses. For example, second 3Dinteractive environment 300 may just be a visual tour of The Coliseum,which does not provide audio or haptic feedback.

Network Environment

FIG. 4A illustrates system 310 including an example network architecturefor a system, which may include one or more devices and sub-systems thatare configured to implement some embodiments discussed herein. Forexample, system 310 may include provider system 307, which can include,for example, the circuits disclosed in FIGS. 5-6 , a provider server, ora provider database, among other things (not shown). The provider system307 may include any suitable network server and/or other type ofprocessing device. In one embodiment, the provider system 307 maydetermine and transmit commands and instructions relating to the use ofinteractive device 100, the purchase of promotions, the display of itemsrelated to the purchase of promotions, and/or generating and displayingan 3D interactive environment to user device 303, promotion andmarketing service system 305, and/or interactive device 100.

Provider system 307 may communicate with the user device 303,interactive device 100, and/or promotion and marketing service system305 using network 301. Network 301 may include nay wired or wirelesscommunication network including a wired or wireless local area network(LAN), personal area network (PAN), metropolitan area network (MAN),wide area network (WAN), or the like, as well as any hardware, softwareand/or firmware required to implement it (e.g. network routers andnetwork switches). For example, network 301 may include a cellulartelephone, an 802.11, 802.16, 802.20 and/or WiMax network. Further,network 301 may include a public network, such as the Internet, aprivate network, such as an intranet, or combinations thereof, and mayutilize a variety of networking protocols now available or laterdeveloped including, but not limited to TCP/IP based networkingprotocols.

User device 303 (user device may also be referred to as consumer device)may be implemented as a personal computer and/or networked device, suchas a cellular phone, tablet computer, mobile device, point of saleterminal, inventory management terminal etc., which may be used to aidinteractive device 100. Although only one user device is depicted inFIG. 4A it is within the scope of this invention to include multipleuser devices. In some embodiments, interactive device 100 may have aminimal amount of hardware and cannot perform large processing tasks,and user device 303 may act as interactive device's 100 processing powerand/or provide navigation support for a user using interactive device100 and/or facilitate communications between interactive device 100 andnetwork 301. Interactive device 100 may be coupled to user device 303 byany suitable wireless or wired communication network, including, forexample, a universal serial bus connection (USB), LAN, PAN, or the like,as well as any hardware, software (e.g., protocols) and/or firmwarerequired to implement it. For example, interactive device 100 may beconnected to user device 303 using an infrared, Bluetooth, wireless USB,Zigbee connection, Near Field Communication (NFC) and the like. In otherembodiments, as illustrated in FIG. 4B interactive device 100 may havesufficient hardware to perform processing tasks and will not use userdevice 303 for processing support and/or communication support. In suchan embodiment interactive device 100 may connect directly to network301, but interactive device 100 may still connect to user device 303 forother functions (e.g. navigation functions).

Promotion and marketing service system 305 may be implemented separatelyor included in provider system 307. Promotion and marketing serversystem 305 may communicate with user device 303, interactive device 100and/or provider system 307 using network 301. Promotion and marketingsystem 305 may determine and transmit commands and instructions relateduse of interactive device 100, the purchase of promotions, the displayof items related to the purchase of promotions, and/or generating anddisplaying 3D interactive environment to user device 303, promotion andmarketing service system 305, and/or interactive device 100.

FIG. 5 shows a schematic block diagram of circuitry 400, some of or allof which may be included in, for example, provider system 307, promotionand marketing system 305, user device 303, and/or interactive device100. Any of the aforementioned systems or devices may include circuitry400 and may be configured to, either independently or jointly with otherdevices in network 301 perform the functions of the circuitry 400described herein. As illustrated in FIG. 5 , in accordance with someexample embodiments, circuitry 400 can include various means such asprocessor 402, memory 404, communications module 406, input/out module408 and/or sensor registry (not shown). In some embodiments, 3Ddimensional environment data module 410 and/or relevance system 414 mayalso or instead be included. As referred to herein, “module” includeshardware, software, and/or firmware configured to perform one or moreparticular functions. In this regard, the means of circuitry 400 may beembodied as hardware elements (e.g., a suitable programmed processor,combinational logic circuit, and/or the like), a computer programproduct comprising computer-readable program instructions stored on anon-transitory computer readable medium (e.g., memory 404) that isexecutable by a suitably configured processing device (e.g. processor402), or some combination thereof.

Processor 402 may, for example, be embodied as various means includingone or more microprocessors with accompanying digital signalprocessor(s), one or more processor(s) without an accompanying digitalsignal processor, one or more coprocessors, one or more multi-coreprocessors, one or more controllers, processing circuitry, one or morecomputers, various other processing elements including integratedcircuits such as, for example, an ASIC (application specific integratedcircuit) or FPGA (field programmable gate array), or some combinationthereof. Accordingly, although illustrated in FIG. 5 as a singleprocessor, in some embodiments processor 402 comprises a plurality ofprocessors. The plurality of processors may be embodied on a singlecomputing device or may be distributed across a plurality of computingdevices collectively configured to function as circuitry 400. Theplurality of processors may be in operative communication with eachother and may be collectively configured to perform one or morefunctionalities of circuitry 400 as described herein. In an exampleembodiment, processor 402 is configured to execute instructions storedin memory 404 or otherwise accessible to processor 402. Theseinstructions, when executed by processor 402, may cause circuitry 400 toperform one or more of the functionalities of circuitry 400 as describedherein.

Whether configured by hardware, firmware/software methods, or by acombination thereof, processor 402 may comprise an entity capable ofperforming operations according to embodiments of the present inventionwhile configured accordingly. Thus, for example, when processor 402 isembodied as an ASIC, FPGA or the like, processor 402 may comprisespecifically configured hardware for conducting one or more operationsdescribed herein. Alternatively, as another example, when processor 402is embodied as an executor of instructions, such as may be stored inmemory 404, the instructions may specifically configure processor 402 toperform one or more algorithms and operations described herein, such asthose discussed in connection with FIGS. 1-9 .

Memory 404 may comprise, for example, volatile memory, non-volatilememory, or some combination thereof. Although illustrated in FIG. 5 as asingle memory, memory 404 may comprise a plurality of memory components.The plurality of memory components may be embodied on a single computingdevice or distributed across a plurality of computing devices. Invarious embodiments, memory 404 may comprise, for example, a hard disk,random access memory, cache memory, flash memory, a compact disc readonly memory (CD-ROM), digital versatile disc read only memory (DVD-ROM),an optical disc, circuitry configured to store information, or somecombination thereof. Memory 404 may be configured to store information,data (including item data and/or profile data), applications,instructions, or the like for enabling circuitry 400 to carry outvarious functions in accordance with example embodiments of the presentinvention. For example, in at least some embodiments, memory 404 isconfigured to buffer input data for processing by processor 402.Additionally or alternatively, in at least some embodiments, memory 404is configured to store program instructions for execution by processor402. Memory 404 may store information in the form of static and/ordynamic information. This stored information may be stored and/or usedby circuitry 400 during the course of performing its functionalities.

Communications module 406 may be embodied as any device or meansembodied in circuitry, hardware, a computer program product comprisingcomputer readable program instructions stored on a computer readablemedium (e.g., memory 404) and executed by a processing device (e.g.,processor 402), or a combination thereof that is configured to receiveand/or transmit data from/to another device and/or network, such as, forexample, a second circuitry 400 and/or the like. In some embodiments,communications module 406 (like other components discussed herein) canbe at least partially embodied as or otherwise controlled by processor402. In this regard, communications module 406 may be in communicationwith processor 402, such as via a bus. Communications module 406 mayinclude, for example, an antenna, a transmitter, a receiver, atransceiver, network interface card and/or supporting hardware and/orfirmware/software for enabling communications with another local orremote computing device and/or servers. Communications module 406 may beconfigured to receive and/or transmit any data that may be stored bymemory 404 using any protocol that may be used for communicationsbetween computing devices. Communications module 406 may additionally oralternatively be in communication with the memory 404, input/outputmodule 408 and/or any other component of circuitry 400, such as via abus.

Input/output module 408 may be in communication with processor 402 toreceive an indication of a user input and/or to provide an audible,visual, mechanical, or other output to a user (e.g., provider and/orconsumer). Some example visual outputs that may be provided to a user bycircuitry 400 are discussed in connection with FIGS. 1-9 . As such,input/output module 408 may include support, for example, for akeyboard, a mouse, a user device, a computer, a joystick, a display, atouch screen display, a 3D display, a microphone, a speaker, a RFIDreader, barcode reader, biometric scanner, micro-heaters, micro-fans,haptic feedback devices, tactile feedback devices, and/or otherinput/output mechanisms. Input/output module 408 may receive variousoutputs from devices connected to input/output module 408 viacommunications module 406, for example GPS, accelerometer, gyroscopeoutput from a connected user device. In embodiments wherein circuitry400 is embodied as a server or database, aspects of input/output module408 may be reduced as compared to embodiments where circuitry 400 isimplemented as an end-user machine (e.g., user device 303 and/orinteractive device 100) or other type of device designed for complexuser interactions. In some embodiments (like other components discussedherein), input/output module 408 may even be eliminated from circuitry400. Alternatively, such as in embodiments wherein circuitry 400 isembodied as a server or database, at least some aspects of input/outputmodule 408 may be embodied on an apparatus used by a user that is incommunication with circuitry 400. Input/output module 408 may be incommunication with memory 404, communications module 406, and/or anyother component(s), such as via a bus. One or more than one input/outputmodule and/or other component can be included in circuitry 400.

Sense stimuli module 416 may be in communication with input/outputmodule 408 to receive output audible, visual, mechanical, and otheroutputs. Sense stimuli module 416 may stimulate the user's senses inaccordance with received output from the input/output module. Forexample, sense stimuli module may be a heater or fan to simulateweather, an odor generator to simulate smell, haptic feedback tosimulate touch/feeling, and the like.

Device characteristics module 418 may be in communication with processor402 to send information relating to the characteristics of theinteractive device. Device characteristics module may comprise one ormore other modules capable of determining past or currentcharacteristics about the interactive device. For example, devicecharacteristic module may include an accelerometer, gyroscope, GPS, andthe like. Device characteristics may also indicate movement by the userof an interactive device.

3D dimensional environment data module 410 and relevance system 414 mayalso or instead be included and configured to perform the functionalitydiscussed herein related to generating, arranging, presenting and/orediting a first or second interactive 3D environment. In someembodiments, some or all of the functionality of generating, arranging,presenting and/or editing a first or second interactive 3D environmentand/or profile data may be performed by processor 402. For example,non-transitory computer readable media can be configured to storefirmware, one or more application programs, and/or other software, whichinclude instructions and other computer-readable program code portionsthat can be executed to control each processor (e.g., processor 402,interface module, and/or relevance system 414) of the components ofsystem 400 to implement various operations, including the examples shownabove. As such, a series of computer-readable program code portions areembodied in one or more computer program goods and can be used, with acomputing device, server, and/or other programmable apparatus, toproduce machine-implemented processes.

In some embodiments, a user parameters database 412 may be provided andincludes profile data, and/or analytical engine data. As shown in FIG.7A, profile data 610, in some embodiments, may include transaction data620, biographical data 625, and/or preference data 630. Additionally oralternatively, the user parameters database 412 may include analyticalengine data 605, which provides any additional information needed by therelevance system 414.

In some embodiments the 3D dimensional environment data module 410 mayinclude a provider database 705, a promotion and marketing servicesdatabase 710, and an user database 715 (as shown in FIG. 8 ). Datacontained in the provider database 705, promotion and marketing servicesdatabase 710, and user database 715 may collectively be referred to asitem data. Interactive device 100 may consist of circuitry 400. Providerdatabase 705, promotion and marketing services database 710, and userdatabase 715 of 3D dimensional environment data module 410 may interactwith components of circuitry 400.

FIG. 6 shows an illustrative schematic diagram of relevance system 414.Relevance system 414 may be used to calculate the relevancy score forvirtual interfaces displayed in a first or second 3D interactiveenvironment. Relevance system 414 may also be used to modify (e.g.configure) various aspects (e.g. default point of view) of the first orsecond 3D interactive environment and the user experience inside thefirst or second 3D interactive environment. Relevance system 414 mayreceive a plurality of inputs 505, 510 from the circuitry 400 andprocess the inputs within the relevance system to produce a relevanceoutput 535, which may include a relevancy score. In some embodiments,the relevance system 414 may execute context determination 515, processthe data in an analytical engine 520, and output the results via acommunications interface 525. Each of these steps may pull data from aplurality of sources including the user parameters database 412.

When inputs 505, 510 are received by the relevance system 414, a contextdetermination 515 may first be made. A context determination includessuch information as a user preference data, what item or user are theitems being compared to for the relevancy scoring, and under whatcircumstances has the interface or system has requested the relevancyinformation. These inputs may give context to the relevance system's 414analysis to determine to what reference source the relevancy score isbased. For example, the context determination module 515 may instructthe relevance system 414 to calculate relevancy scores based on aspecific user. In some embodiments, the context determination module 515may instruct the relevance system to calculate relevancy scores forvirtual interfaces displayed in a first 3D interactive environment basedon data for a specific location. The context determination module 515may select any criteria based on any number of preferences and automaticdeterminations around which to calculate the relevancy scores.

The relevance system 414 may then compute the relevancy scores using theanalytical engine 520. The analytical engine 520 draws information aboutthe profile and the items from the user parameters database 412 andthen, in light of the context determination module's 515 determination,computes a relevancy score for each of the items. The analytical engine520, in some embodiments, may produce a hierarchy of relevancy scoresfor the items based on the similarities between a given item, or profiledata, and each of the plurality of items. The analytical engine 520 maycompare each item with the desired context 515 to determine therelevancy scores. The communications interface 525 then outputs 535 therelevancy scores to the local or remote circuitry 400 for use ingenerating a first or second 3D interactive environment, and/or a user'sexperience inside the first or second 3D interactive environment.

Additional descriptions of relevance determination algorithms foridentifying promotions relevant to a consumer or other profile data thatmay be used alternatively or additionally are described in U.S. patentapplication Ser. No. 13/411,502, filed Mar. 2, 2012, titled “RELEVANCESYSTEM FOR CONSUMER DEALS”, U.S. patent application Ser. No. 13/829,581entitled “PROMOTION OFFERING SYSTEM” filed on Mar. 14, 2013, and U.S.patent application Ser. No. 12/776,028, now U.S. Pat. No. 8,355,948,titled “SYSTEM AND METHODS FOR DISCOUNT RETAILING” filed on May 7, 2010,the entirety of each is incorporated by reference herein.

In some embodiments, user device 303 or interactive device 100 mayreceive or access a profile identifier. The profile identifier may bereceived remotely, via wireless communication or tethered communication,or directly, via input into one of the devices 303 and 100. For example,in some embodiments, the customer may utilize interactive device 100 tointeract with the user device 303 to transmit a profile identifier andother related profile data. In another example, a consumer may simplyprovide login credentials to the interactive device 100. The devices 303and 100 may receive the profile identifier and transfer it to thecircuitry 400. The circuitry 400 may then access the user parametersdatabase 412 to retrieve profile data 610 associated with the profileidentifier and transfer the profile identifier and/or the profile datato the relevance system 414.

As will be appreciated, any such computer program instructions and/orother type of code may be loaded onto a computer, processor or otherprogrammable apparatus's circuitry to produce a machine, such that thecomputer, processor other programmable circuitry that execute the codeon the machine create the means for implementing various functions,including those described herein.

It is also noted that all or some of the information presented by theexample displays discussed herein can be based on data that is received,generated and/or maintained by one or more components of a local ornetworked system and/or circuitry 400. In some embodiments, one or moreexternal systems (such as a remote cloud computing and/or data storagesystem) may also be leveraged to provide at least some of thefunctionality discussed herein.

As described above and as will be appreciated based on this disclosure,embodiments of the present invention may be configured as methods,personal computers, servers, mobile devices, backend network devices,and the like. Accordingly, embodiments may comprise various meansincluding entirely of hardware or any combination of software andhardware. Furthermore, embodiments may take the form of a computerprogram product on at least one non-transitory computer-readable storagemedium having computer-readable program instructions (e.g., computersoftware) embodied in the storage medium. Any suitable computer-readablestorage medium may be utilized including non-transitory hard disks,CD-ROMs, flash memory, optical storage devices, or magnetic storagedevices.

Embodiments of the present invention have been described above withreference to block diagrams and flowchart illustrations of methods,apparatuses, systems and computer program goods. It will be understoodthat each block of the circuit diagrams and process flowcharts, andcombinations of blocks in the circuit diagrams and process flowcharts,respectively, can be implemented by various means including computerprogram instructions. These computer program instructions may be loadedonto a general purpose computer, special purpose computer, or otherprogrammable data processing apparatus, such as processor 402, 3Ddimensional environment data module 410, and/or relevance system 414discussed above with reference to FIGS. 4-6 , to produce a machine, suchthat the computer program product includes the instructions whichexecute on the computer or other programmable data processing apparatuscreate a means for implementing the functions specified in the flowchartblock or blocks.

These computer program instructions may also be stored in acomputer-readable storage device (e.g., memory 404) that can direct acomputer or other programmable data processing apparatus to function ina particular manner, such that the instructions stored in thecomputer-readable storage device produce an article of manufactureincluding computer-readable instructions for implementing the functiondiscussed herein. The computer program instructions may also be loadedonto a computer or other programmable data processing apparatus to causea series of operational steps to be performed on the computer or otherprogrammable apparatus to produce a computer-implemented process suchthat the instructions that execute on the computer or other programmableapparatus provide steps for implementing the functions discussed herein.

Accordingly, blocks of the block diagrams and flowchart illustrationssupport combinations of means for performing the specified functions,combinations of steps for performing the specified functions and programinstruction means for performing the specified functions. It will alsobe understood that each block of the circuit diagrams and processflowcharts, and combinations of blocks in the circuit diagrams andprocess flowcharts, can be implemented by special purpose hardware-basedcomputer systems that perform the specified functions or steps, orcombinations of special purpose hardware and computer instructions.

Exemplary Operation

FIG. 9 illustrates an exemplary operation of an interactive device.Prior to step 810, the interactive device, optionally, authenticates auser. Authentication may be performed by any known authenticationmethod, for example, username and password authentication, biometricauthentication, location authentication (e.g. authenticating user basedon the user's location), and the like. In an alternate embodiment, anassociated user device coupled to the interactive device may perform theauthentication. In other embodiments, authentication may be performedwith the assistance of a provider system and/or a promotion andmarketing service. After proper authentication the processor of theinteractive device communicates with user parameters database 412 todetermine the authenticated user's profile data.

At step 810, the processor of the interactive device receives 3Denvironment data from a user parameters database. In this embodiment, 3Denvironment data comprises of biographical information, transactiondata, and preference data.

At step 820, the processor of the interactive device receives inventorydata from an inventory registry.

At step 830, the processor of the interactive device uses the received3D environment data generates a first and second 3D interactiveenvironment. For example, if biographic information indicates the useris short, the processor of the interactive device will generate thefirst 3D interactive environment and/or second 3D interactiveenvironment from a lower point-of-view (e.g. from a child'spoint-of-view). In some embodiments, only the first 3D interactiveenvironment is generated at this point and the second 3D interactiveenvironment is generated after step 850 but before step 880.

At step 840, the processor of the interactive device uses the received3D environment data and received inventory data to determine one or morevirtual interfaces. The first 3D interactive environment contains thedetermined one or more virtual interfaces. For example, a virtualinterface may present a promotion for a trip to Florence, Italy. Thelayout of the virtual interfaces (e.g. where and what virtual interfacesare displayed and how the virtual interface are displayed) isautomatically configured by the processor of the interactive device,using as input, data from the relevance system 414 and/or userparameters database 412. For example, the received 3D environment dataincludes biographical data of the user that indicates the user is ayoung child. The processor of the interactive device then modifies thelayout of the virtual interfaces to display only virtual interfacesrelated to child-themed amusement parks or other child friendlypromotions. In an alternate embodiment, the layout of the virtualinterfaces may be manually customized by the user. In anotherembodiment, the processor of the interactive device may automaticallymodify the virtual interfaces layout may be modified using input theassociated user device. For example, the processor of the interactivedevice receives GPS data from an associated user device indicating theinteractive device is located in San Francisco, Calif. and the processorof the interactive device generates virtual interfaces related topromotions available in San Francisco, Calif. (e.g. tours of The GoldenGate Bridge, Ghirardelli Square, and/or Alcatraz). In anotherembodiment, the processor of the interactive device receives weatherdata from an associated user device or a weather service layout of thevirtual interfaces is modified based on the weather data. For example,the processor of the interactive device, receives weather data (e.g.temperature, wind, precipitation information) indicating it is currentlyraining at the interactive device's location, and the processor of theinteractive device modifies the layout of the virtual interfaces toemphasize (e.g. appear closer to the user, may appear bigger, and thelike) virtual interfaces related to indoor promotions. In anotherexample, if transaction data of the received 3D environment dataindicates that the user frequently purchases items related to countryartists, the analytical engine (item 520 in FIG. 6 ) of relevance system414 may give a high relevancy score to virtual interfaces correspondingto country artists (e.g. a Blake Shelton concert) and processor of theinteractive device may modify the layout of the virtual interfaces tocontain bigger virtual interfaces corresponding to country concerts andsmaller virtual interfaces corresponding to pop concerts. Although thisdescription on uses a finite amount of 3D environment data to generateand customize the first 3D interactive environment, second 3Dinteractive environment, and one or more virtual interfaces it is withinthe scope of the invention to use any combination of 3D environment datato generate and customize the first 3D interactive environment, thesecond 3D interactive environment, and/or one or more virtualinterfaces.

At step 850, the processor of the interactive device outputs to thedisplay of the interactive device, the first 3D interactive environmentcontaining one or more virtual interfaces. In some embodiments, thecommunication module of the interactive device connects to otherinteractive devices and the multiple interactive devices simultaneouslyoutput a shared first 3D interactive environment. The multiple users ofthe multiple interactive devices may interact with each other using amicrophone and speaker associated with the interactive device. Forexample, a user may say to another user “Follow me, you've got to checkout this store!” In other embodiments, the users may engage in games towin prizes related to promotions. For example, multiple users mayinteract in a virtual reality trivia game with questions about Greece,where the winner may receive a discount for a promotion relating toGreece.

At step 860, the processor of the interactive device receives user inputdata via the input/output module or device characteristics modulerelated to the user's interaction with a virtual interface. Theprocessor of the interactive device uses user input data to determine ifthe user has engaged or selected the virtual interface. To determineengagement, the processor of the interactive device compares receiveduser input data with stored data in a sensor registry. The sensorregistry contains sets of data of established motions and engagements.For example the interactive device receives audio data from an attachedmicrophone that the user has spoken the phrase “select virtual portal.”The processor will take this received data and compare it with data inthe sensor registry to determine if the phrase matches a stored phrase.In this case the phrase “select virtual portal” is stored in the sensorregistry as being associated with the action of activating a virtualportal, the processor activates the virtual portal. In another example,the sensor registry contains data from an accelerometer of a userperforming a swipe motion and the swipe motion is associated with theaction of engaging or selecting. If the processor of the interactivedevice receives user input data from the accelerometer indicating thesame swipe motion the processor performs the engagement. In a broaderexample, the interactive device receives data from devicecharacteristics module or input/output module indicating that a userpointed, swiped, grabbed, spoke, or performed another physical or audiogesture and the processor compares the received user input data to datain the sensor registry to determine whether to an appropriate action totake (e.g. navigation function, activate the virtual experience portaland/or an execution component, etc.)

At step 870, the processor of the interactive device determines if thereceived user input data indicates an engagement of a virtual experienceportal of one or more virtual interfaces. If the determination isnegative the process moves to step 890. However, if the determination ispositive, at step 880, the processor of the interactive device andoutputs a second 3D interactive environment. The second 3D interactiveenvironment is a virtual representation or simulation based on an itemrelated to the selected virtual experience portal. The second 3Dinteractive environment allows the user to virtually experience, aportion or all of a related item. As recited in step 830, the second 3Dinteractive environment is generated and customized by the processor ofthe interactive for the particular user using 3D environmental data. Forexample, the received 3D environment data includes user preference dataindicating that the user prefers a first person point-of-view over athird person point-of-view. In this situation, the processor of theinteractive device generates and outputs the second 3D interactiveenvironment from the point-of-view of the user. In another example, ifuser input data indicates that the user selected the virtual experienceportal on a virtual interface related to a concert (e.g. item) theprocessor of the interactive device will customize the second 3Dinteractive to virtually simulate the concert from the user'spoint-of-view, and the interactive device's sense stimuli module is usedto stimulate user's senses to simulate attending the concert. In otherembodiments, the second 3D interactive environment is presented from abirds-eye point-of-view to allow the user to simulate experience theitem from a distance. Using the above example of a concert, theinteractive device may display the second 3D interactive environmentfrom a birds-eye point-of view such that the user is able to view thewhole auditorium during the concert, and locate various facilities inthe auditorium (e.g. concession stands, bathrooms, and the like). Insome embodiments, the point-of-view may be altered while the interactivedevice is outputting the second 3D interactive environment. Using theabove example of a concert, the interactive device may first output thesecond 3D interactive environment from the user's point-of-view for thefirst half of the concert, and then change the output the second 3Dinteractive environment to the performer's point-of-view for the secondhalf of the concert. It is within the scope of the invention togenerated and output multiple point of views of the second 3Dinteractive environment.

The second 3D interactive environment may be generated based item datacorresponding to related item stored in a 3D dimensional environmentdata module. For example, if input data indicates that the user selectsa virtual interface relating to a concert by Jimmy Buffet (i.e. anitem), then the processor of the interactive device may access storeddata in the 3D dimensional environment data module related to past JimmyBuffet concerts. In another example, if input data indicates that theuser selects a virtual interface relating to a concert by legendaryhip-hop mogul Aubrey “Drake” Graham, the processor of the interactivedevice may access stored data in the 3D dimensional environment datamodule related other similar hip-hop artist (e.g. Jermaine Cole). Usingreceived item data from the 3D dimensional environment data module, theprocessor of the interactive device is able to generate an accuratesecond 3D interactive environment to provide a realistic virtualexperience.

In some embodiments, 3D dimensional environment data module includes auser database that comprises of user feedback data from users whopreviously used and/or experienced an item. The user feedback data maytake the form of audio/video data (e.g. videos and pictures), locationdata (e.g. where someone was located while using or experiencing theitem), opinion data (e.g. what the user thought about the item, theuser's favorite part about the item, tips relating to the item) and thelike. For example, when a user takes a trip to Naples, Italy (i.e. anitem) the user may record various parts of the trip (e.g. seeing variouslandmarks, a boat ride, and the like) and upload those recordings to the3D dimensional environment data module. In another embodiment, thesecond 3D interactive environment may be generated only from userfeedback data from users that previously experienced the same item bythe same provider. For example, the second 3D interactive environmentrelated to a Sting concert (i.e. an item) provided by Live Nation™ (i.e.a provider) may be generated based only on user feedback data from userswho previously attended a Sting concerts provided by Live Nation™.Similar information may be uploaded by other users who experienced orused the same or related items.

In some embodiments, 3D dimensional environment data module includes aprovider database that comprises of provider generated data related toan item. The data may take the form of audio/video data (e.g. videos andpictures), descriptive data (e.g. description of what the user canexpect to experience), answers to frequently asked questions, and thelike. Descriptive data may include data related to the user's senses.For example, the provider of physical goods (i.e. an item) could providehaptic feedback information (i.e. descriptive data) that a user shouldfeel when the user interacts with the good in the second 3D interactiveenvironment. In a different example, the provider of a trip to Naples,Italy may upload to the 3D dimensional environment data moduledescriptive data indicating that the temperature in Naples, Italy atvarious times during the year. Based on this descriptive data, theprocessor of the interactive device may activate a micro-heater in theinteractive device while outputting the second 3D interactiveenvironment to simulate temperature. In another example, a provider of aconcert (i.e. an item) could upload to the provider database recentconcert videos and/or backstage videos of the band performing at theconcert. In another example, the provider of the concert could upload tothe provider database recording sessions and/or backstage informationfor the band that is performing at the concert. Similar information maybe uploaded by other providers, providing the same or similar items.

In some embodiments, 3D dimensional environment data module includes apromotion and marketing service database that comprises of promotion andmarketing service generated data related to an item. The data may takethe form of audio/video data (e.g. videos and pictures), descriptivedata (e.g. description of what the user can expect to experience),answers the frequently asked questions, and the like. Descriptive datamay include data related to the user's senses. For example, thepromotion and marketing service may upload to the 3D dimensionalenvironment data module haptic feedback information (i.e. descriptivedata) indicating that a boat ride in Venice, Italy (e.g. an item) isvery bumpy. Based on this descriptive data, the processor of theinteractive device may implement haptic feedback in the interactivedevice during certain points of the second 3D interactive environment tosimulate the boat ride. Similar information may be uploaded by otherpromotion and marketing services related to the same or similar items.

The type of data which the processor of interactive device uses tocreate the second 3D interactive experience may be limited by the user,the provider, and/or the promotion and marketing service. In someembodiments, the provider of an item may require, the second 3Dinteractive environment related to the provided item to be generatedonly using information related to that same item. For example, if theprocessor of the interactive device is generating a second 3Dinteractive environment for climbing Mt. Everest (i.e. an item), thesecond 3D interactive environment is generated only from data aboutclimbing Mt. Everest, and not from data about climbing similarmountains.

In some embodiments, the item may be a good. For example when therelated item is a golf club, the generated second 3D interactiveenvironment may be a virtual driving range where the user can virtuallyswing the golf club. In another example where the related item is alamp, the generated second 3D interactive may be a virtual room, wherethe user can experience using the lamp (e.g. seeing how bright it is indifferent rooms, comparing the lamp to other lamps, feeling the lamp.)

Although this description on uses a finite amount of 3D environment datato generate and customize the second 3D interactive environment, it iswithin the scope of the invention to use any combination of 3Denvironment data to generate and customize the second 3D interactiveenvironment may be generated and using any 3D environment data.

At step 890, the interactive device determines if the user input dataindicates engagement of an execution component. The execution componentcorresponds to a promotion of a related item. The promotion may beprovided by a provider of the item and/or a promotion and marketingservice. If the determination is negative then the process moves back tostep 860. However if the determination is positive, the processor of theinteractive device generates execution data. The generated executiondata, via the processor is then sent to an execution registry forstorage and analysis. The execution registry may be a database at apromotion and marketing service. In some embodiments, the processor ofthe interactive device accesses the execution registry, via acommunications module, to update inventory data related to one or morepromotions. The inventory data can be used by the processor of theinteractive device to modify the first 3D interactive environment,second 3D interactive environment, and/or the virtual interfaces, andthe like. For example, the processor of the interactive device, receivesinventory data indicating that an offered promotion is no longeravailable then the processor of the interactive will modify theexecution component on the corresponding virtual interface to benon-selectable.

The execution component is permanent or semi-permanent in the 3Dinteractive environment and/or the second 3D interactive environment.The sensor registry contains movements and engagement data thatcorresponds to the activation of the execution component. For examplethe interactive device receives audio data from an attached microphonethat the user has spoken the phrase “select execution component.” Theprocessor will take this received data and compare it with data in thesensor registry to determine if the phrase matches a stored phrase. Inthis case the phrase “select execution component” is stored in thesensor registry and the phrase is associated with activating theexecution component, thus the processor activates the executioncomponent. In some embodiments, the execution may be invisible to theuser, but still accessible by predetermined motivations and engagementsstored in the sensor registry.

In some embodiments the execution component is presented while thesecond 3D interactive display is being output. In such an instance, theexecution component can be activated during a virtual simulation relatedto an item. For example, the interactive device outputs a second 3Dinteractive environment that virtually simulates sitting front row at aDrake concert (i.e. an item). At the end of the simulation, a relatedpromotion to purchase front row tickets for a Drake concert is output tothe display of the interactive device as an execution component. If userinput data indicates the user does not select the execution componentthe interactive device can generate another second 3D interactiveenvironment that virtually simulates sitting in the balcony of the Drakeconcert. At the send of the simulation, a related promotion to purchasebalcony tickets for a Drake concert is output to the display of theinteractive device as an execution component. As has just beendescribed, the interactive device may generated and output one or second3D environments that corresponding to related execution components.

After the execution component is engaged, the payment authenticationprocess starts as illustrated in FIG. 10 . At step 905, the interactivedevice receives payment information from the user and/or to anassociated user device. In one embodiment, payment information may becommunicated from an associated user device to the via the communicationmodule of the interactive device. The processor of the interactivedevice may then create a virtual rendering of the received paymentinformation and output the virtual rendering inside the first or second3D interactive environment. For example, the interactive device mayreceive payment information for a variety of credit cards or otherpayment options from the associated user device, and the interactivedevice outputs in the first or second 3D interactive environmentengageable representations of each payment information. Once the paymentinformation has been entered/selected it is sent to the provider system,via the interactive device or the associated user device.

At step 910, at the communications module of the interactive device oran associated user device transmits the selected payment information tothe provider system. At step 915, the provider system processes thepayment information. Processing payment information may be implementedby any know process or method for purchasing goods or services. In someembodiments, the interactive device itself authenticates and verifiesthe payment information instead of transmitting the payment informationto the provider system for authentication and verification.

At step 920, a determination is made by the provider system if thepayment was successful. If the payment was successful, at step 925, thepurchased promotion is transmitted to the user. The promotion may betransmitted directly or indirectly to the user, via the interactivedevice and/or an associated user device. For example, the processor ofthe interactive device, receives confirmation for a successful purchaseand then the processor of the interactive device outputs an alert in thefirst or second 3D environment that the purchase was successful. If thepayment is not successful, then at step 930, an error indicating thefailed payment of the promotion may be transmitted directly orindirectly to the user, via the interactive device and/or an associateduser device. For example, the processor of the interactive device,receives confirmation of a failed purchase and then the processor of theinteractive device outputs in the first or second 3D interactiveenvironment an alert indicating that a promotion is not successfullypurchased.

Although in FIGS. 9-10 and elsewhere in the description the first 3Dinteractive environment and second 3D interactive environment have beendescribed and embodied separately, it is within the scope of theinvention to combine the functionality of the first 3D interactiveenvironment and the second 3D interactive environment into a single 3Dinteractive environment.

Many modifications and other embodiments of the inventions set forthherein will come to mind to one skilled in the art to which theseembodiments of the invention pertain having the benefit of the teachingspresented in the foregoing descriptions and the associated drawings.Therefore, it is to be understood that the embodiments of the inventionare not to be limited to the specific embodiments disclosed and thatmodifications and other embodiments are intended to be included withinthe scope of the appended claims. Although specific terms are employedherein, they are used in a generic and descriptive sense only and notfor purposes of limitation.

What is claimed:
 1. An apparatus comprising at least one processor andat least one non-transitory memory including computer-coded instructionsthereon, the computer coded instructions, with the at least oneprocessor, configure the apparatus to: determine a virtual interfaceset, wherein the virtual interface set comprises at least one virtualinterface associated with at least one promotion, and wherein eachvirtual interface in the virtual interface set is associated with avirtual experience portal; receive 3D environment data associated with auser profile from a user parameters database; output, to a display, afirst three dimensional interactive environment comprising the virtualinterface set, wherein the first three dimensional interactiveenvironment is visually configured based at least in part on the 3Denvironment data associated with the user profile; receive user inputdata engaging a first virtual experience portal associated with a firstvirtual interface of the virtual interface set, the first virtualinterface associated with a first promotion for a first item or a firstexperience; and output, utilizing the display, a second threedimensional interactive environment, wherein the second threedimensional interactive environment represents an experiential itemvirtual simulation enabling virtual user interaction associated with avirtual item representation of the first item or experience.
 2. Theapparatus according to claim 1, wherein the second three dimensionalinteractive environment is configured based at least in part on the 3Denvironment data associated with the user profile.
 3. The apparatusaccording to claim 1, wherein the first three dimensional interactiveenvironment is configured to provide a point-of-view based at least inpart on the 3D environment data associated with the user profile.
 4. Theapparatus according to claim 1, wherein the first three dimensionalinteractive environment comprises a virtual concierge associated withthe user profile.
 5. The apparatus according to claim 1, wherein thefirst three dimensional interactive environment is shared between afirst user associated with the user profile and a second user associatedwith a second user profile.
 6. The apparatus according to claim 5,wherein the second user is associated with a second rendering of thefirst three dimensional interactive environment, the second renderingvisually configured based at least in part on the second user profileassociated with the second user.
 7. The apparatus according to claim 5,wherein the second user profile is associated with a second user pointof view and the first user profile is associated with a first point ofview within the first three dimensional interactive environment.
 8. Theapparatus according to claim 1, wherein the second three dimensionalinteractive environment is shared between at least a first userassociated with the first user profile and a second user associated witha second user profile.
 9. The apparatus according to claim 8, whereinthe second user is associated with a second rendering of the secondthree dimensional interactive environment, the second rendering visuallyconfigured based at least in part on the second user profile associatedwith the second user.
 10. A computer-implemented method comprising:determining a virtual interface set, wherein the virtual interface setcomprises at least one virtual interface associated with at least onepromotion, and wherein each virtual interface in the virtual interfaceset is associated with a virtual experience portal; receiving 3Denvironment data associated with a user profile from a user parametersdatabase; outputting, to a display, a first three dimensionalinteractive environment comprising the virtual interface set, whereinthe first three dimensional interactive environment is visuallyconfigured based at least in part on the 3D environment data associatedwith the user profile; receiving user input data engaging a firstvirtual experience portal associated with a first virtual interface ofthe virtual interface set, the first virtual interface associated with afirst promotion for a first item or a first experience; and outputting,utilizing the display, a second three dimensional interactiveenvironment, wherein the second three dimensional interactiveenvironment represents an experiential item virtual simulation enablingvirtual user interaction associated with a virtual item representationof the first item or experience.
 11. The computer-implemented methodaccording to claim 10, wherein the second three dimensional interactiveenvironment is configured based at least in part on the 3D environmentdata associated with the user profile.
 12. The computer-implementedmethod according to claim 10, wherein the first three dimensionalinteractive environment is configured to provide a point-of-view basedat least in part on the 3D environment data associated with the userprofile.
 13. The computer-implemented method according to claim 10,wherein the first three dimensional interactive environment comprises avirtual concierge associated with the user profile.
 14. Thecomputer-implemented method according to claim 10, wherein the firstthree dimensional interactive environment is shared between a first userassociated with the user profile and a second user associated with asecond user profile.
 15. The computer-implemented method according toclaim 14, wherein the second user is associated with a second renderingof the first three dimensional interactive environment, the secondrendering visually configured based at least in part on the second userprofile associated with the second user.
 16. The computer-implementedmethod according to claim 14, wherein the second user profile isassociated with a second user point of view and the first user profileis associated with a first point of view within the first threedimensional interactive environment.
 17. The computer-implemented methodaccording to claim 10, wherein the second three dimensional interactiveenvironment is shared between at least a first user associated with thefirst user profile and a second user associated with a second userprofile.
 18. The computer-implemented method according to claim 17,wherein the second user is associated with a second rendering of thesecond three dimensional interactive environment, the second renderingvisually configured based at least in part on the second user profileassociated with the second user.
 19. A computer program productcomprising at least one non-transitory computer-readable storage mediumhaving program instructions stored thereon that, in execution with atleast one processor, configure the computer program product for:determining a virtual interface set, wherein the virtual interface setcomprises at least one virtual interface associated with at least onepromotion, and wherein each virtual interface in the virtual interfaceset is associated with a virtual experience portal; receiving 3Denvironment data associated with a user profile from a user parametersdatabase; outputting, to a display, a first three dimensionalinteractive environment comprising the virtual interface set, whereinthe first three dimensional interactive environment is visuallyconfigured based at least in part on the 3D environment data associatedwith the user profile; receiving user input data engaging a firstvirtual experience portal associated with a first virtual interface ofthe virtual interface set, the first virtual interface associated with afirst promotion for a first item or a first experience; and outputting,utilizing the display, a second three dimensional interactiveenvironment, wherein the second three dimensional interactiveenvironment represents an experiential item virtual simulation enablingvirtual user interaction associated with a virtual item representationof the first item or experience.
 20. The computer program productaccording to claim 19, wherein the second three dimensional interactiveenvironment is configured based at least in part on the 3D environmentdata associated with the user profile.